A callout is a device for annotating an item in, or a portion of, a document. Examples of callouts in the prior art are shown in FIG. 1, which depicts an item 101 annotated by three callouts 102, 103, and 104. Here, item 101 is text that contains boldfaced portions 105, 106, 107. Item 1 could also be, for example, a graphic or a picture instead of text. Each of callouts 102, 103, 104 can be said to annotate item 101. More particularly, callout 102 annotates portion 105, callout 103 annotates portion 106, and callout 104 annotates portion 107.
Callouts can vary in format. For example, callout 102 has an oval-shaped annotation region and a single-segment stem region that descends vertically from the annotation region and has an arrowhead at the lower end of the stem region. Callout 103 has a rectangular annotation region that abuts one end of a two-segment, right-angled stem region. Callout 104 has an annotation region having a visible border primarily along one side, with the other sides being left open, and a diagonal single-segment stem region. A wide variety of formatting options is possible for callouts beyond the possibilities illustrated in FIG. 1.
FIG. 2 illustrates the component parts of a callout. Typically, a callout 205 has a stem region 210 and an annotation region 220. Stem region 210 connects annotation region 220 with an item 201 to be annotated. Stem region 210 has a first end 211 and a second end 213, and typically is made up of a line segment 212 or two or more contiguous line segments (not shown). Annotation region 220 contains an annotation 225 that pertains to an item 201. Annotation 225 can be, for example, text that clarifies a word or picture of item 201. The callout is sometimes said to originate at first end 211 or at item 201.
Callouts began in the realm of printed documents. With the advent of computerized documents, it has become useful to incorporate callouts into this new realm as well, for example, by providing automated tools for creating and editing callouts. A graphical user interface offers the potential of making such tools easy and intuitive to use.
At least one computerized drawing program in the prior art, VISIO 2.0 by Shapeware Corp. (Seattle, Wash.), attempts to provide automated callout tools. To place a callout in a VISIO drawing, a user selects a pre-made callout "stencil" from a menu of callouts, using a mouse, trackball, or other pointing device. Then, again using the pointing device, the user "drags" the callout "stencil" across the display and "drops" it at a desired location.
VISIO's "drag-and-drop" method of operation often proves to be quite cumbersome to apply. A user cannot simply point to a display location and create the callout at that location in any desired size. Also, a user cannot readily convert a callout from one format or style to another. For example, a user must choose one drawing tool to obtain a callout whose stem consists of a single line segment, and must choose a completely different tool to obtain a callout whose stem consists of two line segments at an angle to one another. There is no straightforward way for a user to apply any changes made to the size, screen position, rotation, type font or other formatting characteristics of a single-segment callout to a two-segment callout or vice versa.
The appeal of graphical user interface systems arises in part from their potential to provide users with WYSIWYG ("what you see is what you get") operation. In a WYSIWYG system, the user receives immediate and accurate visual feedback during any and all operations performed on displayed entities such as text and graphics. Unfortunately, the manipulation of callouts in VISIO is not fully WYSIWYG. For example, a rotation of the callout's stem region with respect to the annotation region does not provide the user at each step of the rotation with a true picture of what the callout will look like if the rotation is completed at that moment: In VISIO, to rotate a callout's stem, the user selects a special point on the callout and "drags" it with the mouse in the desired direction. During the "drag" operation, VISIO displays a single dashed line segment to schematically represent the current "dragged" position of the stem. The single dashed line is used even if the callout stem actually comprises two line segments. Moreover, VISIO does not show the annotation region's motion at all. The user can only guess where the annotation region will be positioned once the "drag" operation is complete. Typically, the annotation region is redisplayed at a position different from its original one, and the user can only guess where it will end up.
In short, VISIO provides only a limited capability to deal with callouts. Moreover, the incorporation of callout tools in a drawing program such as VISIO does not provide a straightforward way to put a callout into a computerized textual document, for the simple reason that a drawing program, unlike a word processing program, is not oriented toward the creation of textual documents. Yet common word processing programs do not provide callout tools of any kind. Thus there is a need for better automated callout tools and for better application of automated callout tools.